A database management system (DBMS) is a computer software arrangement that stores and manipulates data. The DBMS essentially provides software routines for manipulating the stored data according to one or more data models. A DBMS may be used directly by system users, as a component of another software package or to provide various services to an independent software package.
A database is a collection of data which is managed and manipulated by a DBMS according to various logical data models, or views of stored data, within the DBMS. The most common logical data model in the present database market is the relational model, using the industry-standard SQL query access language. However, manipulating data in a relational architecture system is cumbersome, particularly for databases having complex data models. For example, manipulation of a many-to-many relationship set involves the use of tables, shared columns (foreign keys) and indexes.
A recent development in the database industry is the availability of industry-standard Application Program Interfaces (APIs) for SQL, such as SQL Access Group Call Level Interface and the related Open DataBase Connectivity (ODBC) API for Microsoft Windows. What is needed is a DBMS that supports this API and others, and that can further present to its users a variety of logical models using industry-standard interfaces, while the physical storage of data is managed in a manner that closely follows the data model. Moreover, a physical storage implementation in which data objects, such as complex data records, are linked only to data objects to which an entity-relationship exists would greatly increase the efficiency of a DBMS over present systems.